home *** CD-ROM | disk | FTP | other *** search
/ One Click 21 (Special) / OC021.iso / Juegos / King of Skeleton / King of Skeleton.swf / scripts / __Packages / Base64.as < prev    next >
Encoding:
Text File  |  2006-02-02  |  2.9 KB  |  99 lines

  1. class Base64
  2. {
  3.    static var b64s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  4.    static var b64 = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"];
  5.    static var f64 = {};
  6.    function Base64()
  7.    {
  8.    }
  9.    static function utf8t2d(t)
  10.    {
  11.       var _loc1_ = new Array();
  12.       var _loc5_ = String.fromCharCode(237);
  13.       if(_loc5_.charCodeAt(0) < 0)
  14.       {
  15.          var _loc3_ = 0;
  16.          while(_loc3_ < t.length)
  17.          {
  18.             var _loc2_ = t.charCodeAt(_loc3_);
  19.             if(_loc2_ > 0)
  20.             {
  21.                _loc1_[_loc1_.length] = _loc2_;
  22.             }
  23.             else
  24.             {
  25.                _loc1_[_loc1_.length] = 256 + _loc2_ >> 6 | 0xC0;
  26.                _loc1_[_loc1_.length] = 256 + _loc2_ & 0x3F | 0x80;
  27.             }
  28.             _loc3_ = _loc3_ + 1;
  29.          }
  30.       }
  31.       else
  32.       {
  33.          _loc3_ = 0;
  34.          while(_loc3_ < t.length)
  35.          {
  36.             _loc2_ = t.charCodeAt(_loc3_);
  37.             if(_loc2_ < 128)
  38.             {
  39.                _loc1_[_loc1_.length] = _loc2_;
  40.             }
  41.             else if(_loc2_ > 127 && _loc2_ < 2048)
  42.             {
  43.                _loc1_[_loc1_.length] = _loc2_ >> 6 | 0xC0;
  44.                _loc1_[_loc1_.length] = _loc2_ & 0x3F | 0x80;
  45.             }
  46.             else
  47.             {
  48.                _loc1_[_loc1_.length] = _loc2_ >> 12 | 0xE0;
  49.                _loc1_[_loc1_.length] = _loc2_ >> 6 & 0x3F | 0x80;
  50.                _loc1_[_loc1_.length] = _loc2_ & 0x3F | 0x80;
  51.             }
  52.             _loc3_ = _loc3_ + 1;
  53.          }
  54.       }
  55.       return _loc1_;
  56.    }
  57.    static function b64d2t(d)
  58.    {
  59.       var _loc1_ = new Array();
  60.       var _loc2_ = 0;
  61.       var _loc4_ = d.length;
  62.       if(_loc4_ % 3 == 1)
  63.       {
  64.          d[d.length] = 0;
  65.          d[d.length] = 0;
  66.       }
  67.       if(_loc4_ % 3 == 2)
  68.       {
  69.          d[d.length] = 0;
  70.       }
  71.       while(_loc2_ < d.length)
  72.       {
  73.          _loc1_[_loc1_.length] = Base64.b64[d[_loc2_] >> 2];
  74.          _loc1_[_loc1_.length] = Base64.b64[(d[_loc2_] & 3) << 4 | d[_loc2_ + 1] >> 4];
  75.          _loc1_[_loc1_.length] = Base64.b64[(d[_loc2_ + 1] & 0x0F) << 2 | d[_loc2_ + 2] >> 6];
  76.          _loc1_[_loc1_.length] = Base64.b64[d[_loc2_ + 2] & 0x3F];
  77.          if(_loc2_ % 57 == 54)
  78.          {
  79.             _loc1_[_loc1_.length] = "\n";
  80.          }
  81.          _loc2_ += 3;
  82.       }
  83.       if(_loc4_ % 3 == 1)
  84.       {
  85.          _loc1_[_loc1_.length - 1] = _loc1_[_loc1_.length - 2] = "=";
  86.       }
  87.       if(_loc4_ % 3 == 2)
  88.       {
  89.          _loc1_[_loc1_.length - 1] = "=";
  90.       }
  91.       var _loc5_ = _loc1_.join("");
  92.       return _loc5_;
  93.    }
  94.    static function encode(s)
  95.    {
  96.       return Base64.b64d2t(Base64.utf8t2d(s));
  97.    }
  98. }
  99.